using SheLife.Domain.Entities;

namespace SheLife.Domain.Interfaces.Repositories
{
    /// <summary>
    /// 成长习惯记录仓储接口
    /// </summary>
    public interface IGrowthHabitRecordRepository : IRepository<GrowthHabitRecord>
    {
        Task<IEnumerable<GrowthHabitRecord>> GetByHabitIdAsync(Guid habitId);
        Task<IEnumerable<GrowthHabitRecord>> GetByUserIdAsync(Guid userId);
        Task<IEnumerable<GrowthHabitRecord>> GetByUserIdAndDateRangeAsync(Guid userId, DateTime startDate, DateTime endDate);
        Task<IEnumerable<GrowthHabitRecord>> GetByUserIdAndHabitIdAsync(Guid userId, Guid habitId);
        Task<int> GetConsecutiveDaysAsync(Guid userId, Guid habitId);
    }
}